package top.infopub.mgr.fia.service;

import java.util.List;

import com.github.pagehelper.Page;

import top.infopub.mgr.fia.domain.ArPlanDomain;
import top.infopub.mgr.fia.vo.ArPlanVo;
import top.infopub.model.fia.ArPlan;
import top.infopub.model.fia.ArPlanDetail;
import top.infopub.generic.GenericService;

public interface ArPlanService extends GenericService<ArPlan, String> {

    /**
     * 根据条件查询分页数据
     * @param page
     * @param arPlanVo
     * @return 
     * @see
     */
    Page<ArPlanDomain> selectPageByDomainWhere(Page<ArPlanDomain> page, ArPlanVo arPlanVo);

    /**
     * 根据id查询详情
     * @param id 主键id
     * @return 
     * @see
     */
    ArPlanVo selectById(String id);

    /**
     * 新增记录及子项
     * @param arPlan
     * @param arPlanDetails 
     * @see
     */
    void addArPlan(ArPlanVo arPlan, List<ArPlanDetail> arPlanDetails);
    
    /**
     * 判断是否存在同一公司名称、同一预算年度已有生效中单据
     */
    int count(Integer belongsYear,String proCode);
    
    /**
     * 
     * 修改操作
     * @param arPlanVo
     * @see
     */
    void udpArPlan(ArPlanVo arPlanVo);
    
}